home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
clean
/
sun3.lha
/
Sun3
/
deltaC.abc
< prev
next >
Wrap
Text File
|
1992-08-07
|
6KB
|
422 lines
.comp 800 111111011
.code 186 9 40
.start _nostart_
.endinfo
.implab _cycle_in_spine
.implab _reserve
.implab _type_error
.impdesc _Defer
.implab _defer_code
.implab _hnf
.impdesc _Cons
.impdesc _Tuple
.impdesc _Select
.impdesc _Nil
.implab _driver
.implab e_system_nAP
.implab e_system_sAP
.impdesc e_system_AP
.desc m_deltaC _hnf _hnf 0 "deltaC"
.export e_deltaC_=C
.export e_deltaC_s=C
.export e_deltaC_n=C
.desc e_deltaC_=C e_deltaC_n=C e_deltaC_l=C 2 "=C"
.o 2 0
e_deltaC_l=C:
repl_args 1 1
.d 2 0
jsr ea=C
.o 0 1 b
create
fillB_b 0 0
pop_b 1
.d 1 0
rtn
.n 2 e_deltaC_=C
.o 1 0
e_deltaC_n=C:
push_node _reserve 2
.d 2 0
jsr ea=C
.o 0 1 b
getWL 0
fillB_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 2 0
ea=C:
|| CHAR
push_a 1
jsr_eval
pop_a 1
|| CHAR
jsr_eval
|| CHAR
pushC_a 1
|| CHAR
pushC_a 0
pop_a 2
.o 0 2 c c
e_deltaC_s=C:
.o 0 2 c c
s=C.1:
|| Match code for alternative 1, stacksizes A: 0 B: 2
|| Building the contractum, Stacksizes A: 0 B: 2
.inline =C
eqC
.end
.d 0 1 b
rtn
.export e_deltaC_<>C
.export e_deltaC_s<>C
.export e_deltaC_n<>C
.desc e_deltaC_<>C e_deltaC_n<>C e_deltaC_l<>C 2 "<>C"
.o 2 0
e_deltaC_l<>C:
repl_args 1 1
.d 2 0
jsr ea<>C
.o 0 1 b
create
fillB_b 0 0
pop_b 1
.d 1 0
rtn
.n 2 e_deltaC_<>C
.o 1 0
e_deltaC_n<>C:
push_node _reserve 2
.d 2 0
jsr ea<>C
.o 0 1 b
getWL 0
fillB_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 2 0
ea<>C:
|| CHAR
push_a 1
jsr_eval
pop_a 1
|| CHAR
jsr_eval
|| CHAR
pushC_a 1
|| CHAR
pushC_a 0
pop_a 2
.o 0 2 c c
e_deltaC_s<>C:
.o 0 2 c c
s<>C.1:
|| Match code for alternative 1, stacksizes A: 0 B: 2
|| Building the contractum, Stacksizes A: 0 B: 2
.inline <>C
eqC
notB
.end
.d 0 1 b
rtn
.export e_deltaC_<C
.export e_deltaC_s<C
.export e_deltaC_n<C
.desc e_deltaC_<C e_deltaC_n<C e_deltaC_l<C 2 "<C"
.o 2 0
e_deltaC_l<C:
repl_args 1 1
.d 2 0
jsr ea<C
.o 0 1 b
create
fillB_b 0 0
pop_b 1
.d 1 0
rtn
.n 2 e_deltaC_<C
.o 1 0
e_deltaC_n<C:
push_node _reserve 2
.d 2 0
jsr ea<C
.o 0 1 b
getWL 0
fillB_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 2 0
ea<C:
|| CHAR
push_a 1
jsr_eval
pop_a 1
|| CHAR
jsr_eval
|| CHAR
pushC_a 1
|| CHAR
pushC_a 0
pop_a 2
.o 0 2 c c
e_deltaC_s<C:
.o 0 2 c c
s<C.1:
|| Match code for alternative 1, stacksizes A: 0 B: 2
|| Building the contractum, Stacksizes A: 0 B: 2
.inline <C
ltC
.end
.d 0 1 b
rtn
.export e_deltaC_>C
.export e_deltaC_s>C
.export e_deltaC_n>C
.desc e_deltaC_>C e_deltaC_n>C e_deltaC_l>C 2 ">C"
.o 2 0
e_deltaC_l>C:
repl_args 1 1
.d 2 0
jsr ea>C
.o 0 1 b
create
fillB_b 0 0
pop_b 1
.d 1 0
rtn
.n 2 e_deltaC_>C
.o 1 0
e_deltaC_n>C:
push_node _reserve 2
.d 2 0
jsr ea>C
.o 0 1 b
getWL 0
fillB_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 2 0
ea>C:
|| CHAR
push_a 1
jsr_eval
pop_a 1
|| CHAR
jsr_eval
|| CHAR
pushC_a 1
|| CHAR
pushC_a 0
pop_a 2
.o 0 2 c c
e_deltaC_s>C:
.o 0 2 c c
s>C.1:
|| Match code for alternative 1, stacksizes A: 0 B: 2
|| Building the contractum, Stacksizes A: 0 B: 2
.inline >C
gtC
.end
.d 0 1 b
rtn
.export e_deltaC_<=C
.export e_deltaC_s<=C
.export e_deltaC_n<=C
.desc e_deltaC_<=C e_deltaC_n<=C e_deltaC_l<=C 2 "<=C"
.o 2 0
e_deltaC_l<=C:
repl_args 1 1
.d 2 0
jsr ea<=C
.o 0 1 b
create
fillB_b 0 0
pop_b 1
.d 1 0
rtn
.n 2 e_deltaC_<=C
.o 1 0
e_deltaC_n<=C:
push_node _reserve 2
.d 2 0
jsr ea<=C
.o 0 1 b
getWL 0
fillB_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 2 0
ea<=C:
|| CHAR
push_a 1
jsr_eval
pop_a 1
|| CHAR
jsr_eval
|| CHAR
pushC_a 1
|| CHAR
pushC_a 0
pop_a 2
.o 0 2 c c
e_deltaC_s<=C:
.o 0 2 c c
s<=C.1:
|| Match code for alternative 1, stacksizes A: 0 B: 2
|| Building the contractum, Stacksizes A: 0 B: 2
.inline <=C
gtC
notB
.end
.d 0 1 b
rtn
.export e_deltaC_>=C
.export e_deltaC_s>=C
.export e_deltaC_n>=C
.desc e_deltaC_>=C e_deltaC_n>=C e_deltaC_l>=C 2 ">=C"
.o 2 0
e_deltaC_l>=C:
repl_args 1 1
.d 2 0
jsr ea>=C
.o 0 1 b
create
fillB_b 0 0
pop_b 1
.d 1 0
rtn
.n 2 e_deltaC_>=C
.o 1 0
e_deltaC_n>=C:
push_node _reserve 2
.d 2 0
jsr ea>=C
.o 0 1 b
getWL 0
fillB_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 2 0
ea>=C:
|| CHAR
push_a 1
jsr_eval
pop_a 1
|| CHAR
jsr_eval
|| CHAR
pushC_a 1
|| CHAR
pushC_a 0
pop_a 2
.o 0 2 c c
e_deltaC_s>=C:
.o 0 2 c c
s>=C.1:
|| Match code for alternative 1, stacksizes A: 0 B: 2
|| Building the contractum, Stacksizes A: 0 B: 2
.inline >=C
ltC
notB
.end
.d 0 1 b
rtn
.export e_deltaC_CTOI
.export e_deltaC_sCTOI
.export e_deltaC_nCTOI
.desc e_deltaC_CTOI e_deltaC_nCTOI e_deltaC_lCTOI 1 "CTOI"
.o 2 0
e_deltaC_lCTOI:
pop_a 1
.d 1 0
jsr eaCTOI
.o 0 1 i
create
fillI_b 0 0
pop_b 1
.d 1 0
rtn
.n 1 e_deltaC_CTOI
.o 1 0
e_deltaC_nCTOI:
push_node _reserve 1
.d 1 0
jsr eaCTOI
.o 0 1 i
getWL 0
fillI_b 0 0
release
pop_b 1
.d 1 0
rtn
.o 1 0
eaCTOI:
|| CHAR
jsr_eval
|| CHAR
pushC_a 0
pop_a 1
.o 0 1 c
e_deltaC_sCTOI:
.o 0 1 c
sCTOI.1:
|| Match code for alternative 1, stacksizes A: 0 B: 1
|| Building the contractum, Stacksizes A: 0 B: 1
.inline CTOI
CtoI
.end
.d 0 1 i
rtn
.export e_deltaC_CTOS
.export e_deltaC_sCTOS
.export e_deltaC_nCTOS
.desc e_deltaC_CTOS e_deltaC_nCTOS e_deltaC_lCTOS 1 "CTOS"
.o 2 0
e_deltaC_lCTOS:
update_a 1 0
create
update_a 0 2
pop_a 1
.d 2 0
jmp eaCTOS
.n 1 e_deltaC_CTOS
.o 1 0
e_deltaC_nCTOS:
push_node _reserve 1
.o 2 0
eaCTOS:
|| CHAR
jsr_eval
|| CHAR
pushC_a 0
pop_a 1
.o 1 1 c
e_deltaC_sCTOS:
.o 1 1 c
sCTOS.1:
|| Match code for alternative 1, stacksizes A: 0 B: 1
|| Building the contractum, Stacksizes A: 0 B: 1
.inline CTOS
create
fillC_b 0 0
pop_b 1
getWL 1
fillS_symbol 0 1
release
pop_a 1
.end
.d 1 0
rtn